package ace.tool.generate.code.impl.resolver.scheme.model.bo.sdk;

import ace.tool.generate.code.impl.resolver.scheme.model.dto.ClassFileInfo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author caspar
 * @date 2023/11/17 10:27
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class FeignClassInfo {

  /**
   * 实体模型id
   */
  private String entityModelId;

  private ClassFileInfo info;

  /**
   * contract client 注解的配置前缀
   */
  private String feignClientConfigPrefix;

  /**
   * 类名首字母小写
   */
  private String feignFirstLowercaseClassName;

  /**
   * 实体类名 小写破折号类名 upms-role-authority
   */
  private String entityClassNameLowercaseDashName;

  /**
   * rest 方法 的命名空间 example: Demo实体类  = demo, fullName = ace.cloud.openfeign.client.demo.demoFeign
   */
  private String restNamespace;
}
